package co.edu.eam.laapuesta.persistencia.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import co.edu.eam.laapuesta.persistencia.entidades.Convenio;
import co.edu.eam.laapuesta.persistencia.entidades.Empresa_Publica;
import co.edu.eam.laapuesta.persistencia.entidades.Pago_Factura;
import co.edu.eam.laapuesta.persistencia.idao.Pago_FacturasIDAO;

public class Pago_FacturasDAO implements Pago_FacturasIDAO{
	
	private EntityManager em;

	public Pago_FacturasDAO(EntityManager em) {
		this.em = em;
	}

	@Override
	public Pago_Factura buscarPagoFactura(long id) {
		// TODO Auto-generated method stub
		return em.find(Pago_Factura.class, id); 
	}

	@Override
	public Convenio buscarConvenio(long id) {
		// TODO Auto-generated method stub
		return em.find(Convenio.class, id);
	}

	@Override
	public Empresa_Publica buscarEmpresaPublica(long id) {
		// TODO Auto-generated method stub
		return em.find(Empresa_Publica.class, id);
	}

	@Override
	public void crearConvenio(Convenio convenio) {
		// TODO Auto-generated method stub
		em.persist(convenio);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Pago_Factura> listarPagoFactura() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Pago_Factura.FIND_ALL);
		return q.getResultList();
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Convenio> listarConvenios() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Convenio.FIND_ALL);
		return q.getResultList();
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Empresa_Publica> listarEmpresaPublica() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Empresa_Publica.FIND_ALL);
		return q.getResultList();
	}

}
